//package com.dtsz.m2.ui.activity;
//
//import android.Manifest;
//import android.annotation.SuppressLint;
//import android.app.AlertDialog;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.content.Intent;
//import android.content.pm.PackageManager;
//import android.net.Uri;
//import android.net.http.SslError;
//import android.os.AsyncTask;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.Environment;
//import android.text.TextUtils;
//import android.util.Log;
//import android.view.KeyEvent;
//import android.view.View;
//import android.view.ViewGroup;
//import android.webkit.CookieManager;
//import android.webkit.CookieSyncManager;
//import android.webkit.DownloadListener;
//import android.webkit.JavascriptInterface;
//import android.webkit.SslErrorHandler;
//import android.webkit.ValueCallback;
//import android.webkit.WebResourceRequest;
//import android.webkit.WebSettings;
//import android.webkit.WebView;
//import android.webkit.WebViewClient;
//import android.widget.LinearLayout;
//import android.widget.ProgressBar;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import androidx.annotation.NonNull;
//import androidx.annotation.RequiresApi;
//import androidx.appcompat.app.ActionBar;
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.core.app.ActivityCompat;
//import androidx.core.content.ContextCompat;
//import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
//
//import com.alibaba.fastjson.JSON;
//import com.appcpx.sdk.category.gaoead.JieTuAd;
//import com.appcpx.sdk.common.bean.InitBean;
//import com.appcpx.sdk.common.bean.MyWebChromeClientJieTu;
//import com.appcpx.sdk.common.bean.SmallCodeBean;
//import com.appcpx.sdk.common.constant.Constants;
//import com.appcpx.sdk.common.dialog.IosAlertDialog;
//import com.appcpx.sdk.common.help.GaoEContract;
//import com.appcpx.sdk.common.listener.GaoEListener;
//import com.appcpx.sdk.util.ApkUtils;
//import com.appcpx.sdk.util.SPHelper;
//import com.blankj.utilcode.util.AppUtils;
//import com.blankj.utilcode.util.ToastUtils;
//import com.dtsz.m2.R;
//
//import java.io.BufferedInputStream;
//import java.io.BufferedOutputStream;
//import java.io.File;
//import java.io.FileOutputStream;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//
//
//public class WebViewActivity extends AppCompatActivity implements GaoEContract.View {
//
//    private static final int REQUEST_PHONE_STATE = 100;
//    private final int mRequestCode = 100;//权限请求码
//    String[] permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,
//            Manifest.permission.WRITE_EXTERNAL_STORAGE,
//            Manifest.permission.CAMERA};
//    List<String> mPermissionList = new ArrayList<>();
//
//    private WebView webView;
//    private LinearLayout comeback;
//    private TextView close;
//    private TextView mTextView;
//    private SwipeRefreshLayout swipeLayout;
//    private ProgressBar mProgressBar;
//    private ProgressBar mProgressBar_loadApp;
//    private String mUrl;
//    private String mCurrentUrl;//返回判断的url
//    private MyWebChromeClientJieTu mMyWebChromeClient;
//
//
//    private AppDownLoad mAppDownLoad;
//
//
//
//    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
//    @SuppressLint("ResourceAsColor")
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_ad_list_1);
//        webView = findViewById(com.appcpx.sdk.R.id.webview);
//        mProgressBar = findViewById(com.appcpx.sdk.R.id.progressBar);
//        mProgressBar_loadApp = findViewById(com.appcpx.sdk.R.id.progressBar_loadApp);
//
//        mUrl = getIntent().getStringExtra("url");
//
//        initWebView();
//        showBackBtn();
//        initEvent();
//
//        //Android6.0需要动态获取权限
//        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
//            ActivityCompat.requestPermissions(WebViewActivity.this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_PHONE_STATE);
//        } else {
//            openUrl();
//        }
//
//        comeback = findViewById(com.appcpx.sdk.R.id.comeback);
//        mTextView = findViewById(com.appcpx.sdk.R.id.title);
//
//        //TODO 这里的返回调用js的方法，走逻辑 刚开始进入 和 界面返回的url是不一样的，做？/处理
//        comeback.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                onBackPressed();
//            }
//
//        });
//
//        close = findViewById(com.appcpx.sdk.R.id.colse);
//
//        close.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                releaseDown();
//                finish();
//            }
//        });
//
//        swipeLayout = findViewById(com.appcpx.sdk.R.id.swipe_container);
//        swipeLayout.setColorScheme(com.appcpx.sdk.R.color.appcpx_holo_blue_bright,
//                com.appcpx.sdk.R.color.appcpx_holo_green_light, com.appcpx.sdk.R.color.appcpx_holo_orange_light,
//                com.appcpx.sdk.R.color.appcpx_holo_red_light);
//        swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
//
//            @Override
//            public void onRefresh() {
//                //重新刷新页面
//                webView.loadUrl(webView.getUrl());
//                if (swipeLayout.isRefreshing()) {
//                    swipeLayout.setRefreshing(false);
//                }
//            }
//        });
//
//    }
//
//
//    String pic;
//
//    private void initEvent() {
//
//    }
//
//
//    // context:上下文对象；url:需要添加cookie的url；cookie：需要添加的cookie（格式为"username=123"）
//    public void synCookies(Context context, String url, String cookie) {
//        CookieSyncManager.createInstance(context);
//        CookieManager cookieManager = CookieManager.getInstance();
//        cookieManager.setCookie(url, cookie);//cookies是在HttpClient中获得的cookie
//        CookieSyncManager.getInstance().sync();
//    }
//
//    private void removeCookie(Context context) {
//        CookieSyncManager.createInstance(context);
//        CookieManager cookieManager = CookieManager.getInstance();
//        cookieManager.removeAllCookie();
//        CookieSyncManager.getInstance().sync();
//    }
//
//
//    private void openUrl() {
//
//        mMyWebChromeClient = new MyWebChromeClientJieTu(WebViewActivity.this, mUrl,mProgressBar);
//        mMyWebChromeClient.setMyLisenter(new MyWebChromeClientJieTu.MyLisenter() {
//            @Override
//            public void fun(String text, String currentUrl) {
//                mTextView.setText(text);
//                mCurrentUrl = currentUrl;
//            }
//
//            //TODO 权限请求
//            @Override
//            public void permission(String type) {
//                if ("1".equals(type)) {//存储卡
//                    initPermission();
//                } else if ("2".equals(type)) {//相机 + 存储卡
//                    initPermission();
//                }
//            }
//        });
//
//        webView.setWebChromeClient(mMyWebChromeClient);
//
//        webView.setWebViewClient(new WebViewClient() {
//
//            @Override
//            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
//                Log.d("tag","加载的路径 " + view.getUrl());
//                return false;
//            }
//
//
//            @Override
//            public void onPageFinished(WebView view, String url) {
//                super.onPageFinished(view, url);
//            }
//
//            //使其能加载https的请求
//            @Override
//            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
//                handler.proceed();
//            }
//        });
//
//
//        //js交互 -- 给js调用app的方法，xnNative是协调的对象
//        webView.addJavascriptInterface(new AndroidtoJs(), "partyMethod");
//
//
//        webView.setDownloadListener(new DownloadListener() {
//            @Override
//            public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
//
//                Log.d("tag","下载");
//
//                if(!TextUtils.isEmpty(url)){
//                    gotoDownApp(url,false);
//                }
//
//            }
//        });
//
//        if (webView != null){
//            webView.loadUrl(mUrl);
//            //TODO 测试
//            Log.d("version","当前版本号:" + AppUtils.getAppVersionName());
//        }
//
//    }
//
//
//    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
//    @SuppressLint({"SetJavaScriptEnabled", "JavascriptInterface"})
//    private void initWebView() {
//        //声明WebSettings子类
//        WebSettings webSettings = webView.getSettings();
//        //如果访问的页面中要与Javascript交互，则webview必须设置支持Javascript
//        webSettings.setJavaScriptEnabled(true);
//
//        //设置自适应屏幕，两者合用
//        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
//        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
//
//        //其他细节操作
//        webSettings.setAllowContentAccess(true); // 是否可访问Content Provider的资源，默认值 true
//        webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); //关闭webview中缓存
//        webSettings.setAllowFileAccess(true); //设置可以访问文件
//        webSettings.setAllowFileAccessFromFileURLs(true);//允许webview对文件的操作
//        webSettings.setAllowUniversalAccessFromFileURLs(true);//允许webview对文件的操作
//        webSettings.setAppCacheEnabled(true);
//        webSettings.setDomStorageEnabled(true);
//        webSettings.setDatabaseEnabled(true);
//        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
//        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
//        webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式
//
//    }
//
//    private void showBackBtn() {
//        ActionBar actionBar = getSupportActionBar();
//        if (actionBar != null) {
//            actionBar.setHomeButtonEnabled(true);
//            actionBar.setDisplayHomeAsUpEnabled(true);
//        }
//    }
//
//    @Override
//    public void showInit(InitBean bean) {
//        toGiveToken();
//    }
//
//    @Override
//    public void getNewData() {
//
//    }
//
//
//    public void toGiveToken() {
//
//        removeCookie(WebViewActivity.this);
//
//        boolean isDebug = (boolean) SPHelper.get(this,"isdebug",false);
//        String myUrl ;
//        if (isDebug){
//            myUrl =  Constants.BASEURL2_DEBUG ;
//        }else{
//            myUrl =  Constants.BASEURL2 ;
//        }
//
//        synCookies(WebViewActivity.this, myUrl, "sdk_acce_token=" + SPHelper.get(WebViewActivity.this, Constants.TOKEN, ""));
//
//        //
//        webView.post(new Runnable() {
//            @Override
//            public void run() {
//                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//                    String result = "javascript:" + "xyApplication.getAppToken(\"" + SPHelper.get(WebViewActivity.this, Constants.TOKEN, "") + "\")";
//                    if (webView != null){
//                        webView.loadUrl(result);//传递参数
//                    }
//                } else {//4.4以上 包括4.4
//
//                    String result = "javascript:" + "xyApplication.getAppToken(\"" + SPHelper.get(WebViewActivity.this, Constants.TOKEN, "") + "\")";
//                    if (webView != null){
//                        webView.evaluateJavascript(result, new ValueCallback<String>() {
//                            @Override
//                            public void onReceiveValue(String value) {
//                            }
//                        });
//                    }
//                }
//            }
//        });
//    }
//
//
//
//    //用于判读是否已在下载中
//    public static HashMap<String, Boolean> isDownByJieTu = new HashMap<>();
//
//    @SuppressLint("JavascriptInterface")
//    public class AndroidtoJs extends Object {
//        //1.给的下载链接是html的，该这么走，是需要调到外部么
//        @JavascriptInterface
//        public void download(String downUrl, String packageName) {
//            Log.d("heihei", "下载咯");
//
//            if(!TextUtils.isEmpty(downUrl) && downUrl.endsWith(".apk")){
//                Log.d("heihei", "apk结尾需要下载app");
//                //TODO 任务列表页本地有也给他下载
//                if(!AppUtils.isAppInstalled(packageName)){
//                    gotoDownApp(downUrl,false);
//                }else{
//                    AppUtils.launchApp(packageName);
//                }
//
//            }else{
//                Log.d("heihei", "其他结尾需要下载app");
//                goToBrowseInSide(downUrl);
//            }
//        }
//
//
//
//        /**
//         * ① 系统让用户选择跳转到浏览器中 -- 2019.7.9之前
//         * ② 不让用户去浏览器下载 -- 2019.7.9之后
//         * ③ apk形式  html的形式
//         *
//         * cpl任务列表页
//         *  1.jude(url,code,page) code = 0表示apk开始下载  code=1代表html开始下载 code=-1代表网页或apk取消下载
//         *
//         *  cpl任务详情页
//         *  1.jude(url,code,page) code = 0表示apk开始下载  code=1代表html开始下载 code=-1代表网页或apk取消下载
//         *                        code = 100表示apk下载完成 code = 200直接存在直接打开apk
//         *  高额详情页(2019.7.24 新告诉我的)
//         *   同上述cpl任务详情页是一样的逻辑
//         *
//         *   fromWhere 表示来自哪里
//         *      utask 表示来自任务列表页 cpl
//         *      detail 表示来自任务详情页 cpl
//         *      gaoe 表示来自高额详情页 -- 2019.7.24小胡新告诉我的 gaoe
//         */
//        String mFromWhere;
//        String mDownUrl;
//
//
//        @JavascriptInterface
//        public void getSkipUrl(final String downUrl, String packageName, final String fromWhere) {
//            Log.d("heihei", "JS调用了Android的我的方法告诉我 需要下载app");
//            Log.d("heihei: " ,   fromWhere + " " + downUrl);
//            mFromWhere = fromWhere;
//            mDownUrl = downUrl;
//
//
//            if("utask".equals(fromWhere)){
//                if(!TextUtils.isEmpty(downUrl) && downUrl.endsWith(".apk")){
//                    Log.d("heihei", "apk结尾需要下载app");
//
//                    //TODO 任务列表页本地有也给他下载
//                    gotoDownApp(downUrl,false);
//                }else{
//                    Log.d("heihei", "其他结尾需要下载app");
//                    goToBrowse(downUrl);
//                }
//            }else if("detail".equals(fromWhere) || "gaoe".equals(fromWhere) ){
//                if(!TextUtils.isEmpty(downUrl) && downUrl.endsWith(".apk")){
//
//                    if(!AppUtils.isAppInstalled(packageName)){
//                        gotoDownApp(downUrl,true);
//                    }else{
//                        try {
//                            AppUtils.launchApp(packageName);
//                            webView.post(new Runnable() {
//                                @Override
//                                public void run() {
//                                    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//                                        String result = "javascript:" + "xyApplication.juge(\"" + downUrl + "\",200,\"" + fromWhere + "\")";
//                                        if (webView != null){
//                                            webView.loadUrl(result);//传递参数
//                                        }
//                                    } else {//4.4以上 包括4.4
//                                        String result = "javascript:" + "xyApplication.juge(\"" + downUrl + "\",200,\"" + fromWhere + "\")";
//                                        if (webView != null){
//                                            webView.evaluateJavascript(result, new ValueCallback<String>() {
//                                                @Override
//                                                public void onReceiveValue(String value) {
//                                                }
//                                            });
//                                        }
//                                    }
//                                }
//                            });
//
//                        }catch (Exception e){
//                            ToastUtils.showShort("打开失败：" + e.getMessage());
//                        }
//                    }
//                }else{
//                    goToBrowse(downUrl);
//                }
//            }
//
//
//
//        }
//
//        /**
//         * 小程序给我参数 -- 分享小程序
//         */
//        @JavascriptInterface
//        public void didShare_Android(String para) {
//            Log.d("heihei", para);
//            if (!TextUtils.isEmpty(para)) {
//                final SmallCodeBean smallCodeBean = JSON.parseObject(para, SmallCodeBean.class);
//                smallCodeBean.setShare_goto("1");//分享
//                GaoEListener gaoEListener =  JieTuAd.mMap.get("gaoEListener");//key一样
//                if (gaoEListener != null) {
//                    gaoEListener.onSuccess(smallCodeBean);
//                }
//            }
//        }
//
//        /**
//         * 小程序给我参数 -- 跳转小程序
//         */
//        @JavascriptInterface
//        public void skipWeChatMiniProgram_Android(String para) {
//            Log.d("heihei", para);
//            if (!TextUtils.isEmpty(para)) {
//                final SmallCodeBean smallCodeBean = JSON.parseObject(para, SmallCodeBean.class);
//                smallCodeBean.setShare_goto("2");//跳转
//                GaoEListener gaoEListener =  JieTuAd.mMap.get("gaoEListener");//key一样
//                if (gaoEListener != null) {
//                    gaoEListener.onSuccess(smallCodeBean);
//                }
//            }
//        }
//
//    }
//
//    private void goToBrowseInSide(final String downUrl) {
//        if(null != webView){
//            webView.post(new Runnable() {
//                @Override
//                public void run() {
//                    webView.loadUrl(downUrl);
//                }
//            });
//        }
//    }
//
//    private void goToBrowse(final String downUrl) {
//
//        final IosAlertDialog iosAlertDialog = new IosAlertDialog(WebViewActivity.this).builder();
//        iosAlertDialog.setPositiveButton("确定", new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Uri uri = Uri.parse(downUrl);
//                Intent intent = new Intent(Intent.ACTION_VIEW, uri);
//                WebViewActivity.this.startActivity(intent);
//
//            }
//        }).setNegativeButton("取消", new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                //点击取消下载
//                webView.post(new Runnable() {
//                    @Override
//                    public void run() {
//                        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//                            String result = "javascript:" + "xyApplication.juge(\"" + downUrl + "\",-1,\""  + "\")";
//                            if (webView != null){
//                                webView.loadUrl(result);//传递参数
//                            }
//                        } else {//4.4以上 包括4.4
//                            String result = "javascript:" + "xyApplication.juge(\"" + downUrl + "\",-1,\""  + "\")";
//                            if (webView != null){
//                                webView.evaluateJavascript(result, new ValueCallback<String>() {
//                                    @Override
//                                    public void onReceiveValue(String value) {
//                                    }
//                                });
//                            }
//                        }
//                    }
//                });
//
//            }
//        }).setTitle("注意啦").setMsg("是否跳转到浏览器去下载").setCanceledOnTouchOutside(false);
//        iosAlertDialog.show();
//    }
//
//    private void gotoDownApp(String url, boolean isShowDownOk) {
//
//        //如果集合包含，并且还未下载成功，提示
//        if(isDownByJieTu.containsKey(url) && !isDownByJieTu.get(url)){
//            Toast.makeText(getApplicationContext(),"正在努力下载，请耐心等待", Toast.LENGTH_SHORT).show();
//            return;
//        }else{
//            //判断文件中是否有，有的话直接提示安装
//            if(null != isDownByJieTu){
//                isDownByJieTu.put(url,false);
//            }
//            mAppDownLoad = new AppDownLoad(url, isShowDownOk);
//            mAppDownLoad.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,url);
//        }
//
//    }
//
//
//    private int contentLen;
//
//    class AppDownLoad extends AsyncTask<String, Integer, String> {
//
//        String apkName;
//        File apkFile;
//        boolean isDownComplete = false;
//        String mUrl;
//        boolean isShowDownOk;
//
//        public AppDownLoad(String url, boolean isShowDownOk) {
//            mUrl = url;
//            this.isShowDownOk = isShowDownOk;
//        }
//
//
//        @Override
//        protected void onPreExecute() {
//            super.onPreExecute();
//            Log.e("tag","告诉前端下载开始");
//            webView.post(new Runnable() {
//                @Override
//                public void run() {
//
//                    if(null != mProgressBar_loadApp && mProgressBar_loadApp.getVisibility() == View.GONE){
//                        mProgressBar_loadApp.setVisibility(View.VISIBLE);
//                    }
//                }
//            });
//
//
//        }
//
//        @Override
//        protected String doInBackground(String... params) {
//            Log.e("dddd","当前进度 " + Thread.currentThread().getName());
//            try {
//                String urlStr = params[0];
//                URL url = new URL(params[0]);
//                //获取连接
//                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//                connection.setRequestMethod("GET");
//                connection.setDoOutput(false);
//                connection.setConnectTimeout(10 * 1000);
//                connection.setReadTimeout(10 * 1000);
//                connection.setRequestProperty("Connection", "Keep-Alive");
//                connection.setRequestProperty("Charset", "UTF-8");
//                connection.setRequestProperty("Accept-Encoding", "gzip, deflate");
//                //获取下载文件的大小
//                contentLen = connection.getContentLength();
//                apkName = urlStr.substring(urlStr.lastIndexOf("/") + 1, urlStr.length());
//
//                apkFile = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), apkName);
//
//                if (!apkFile.exists()) {
//                    apkFile.createNewFile();
//                } else {
//                    apkFile.delete();
//                }
//                //循环下载（边读取边存入）
//                BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
//                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(apkFile));
//
//                int len ;
//                int count = 0;
//                int oldProgress = 0;
//                byte[] bytes = new byte[1024 * 10];
//                while((len= bis.read(bytes))!=-1){
//                    bos.write(bytes,0,len);
//                    bos.flush();
//                    count += len;
//                    int progress = (int) (count * 100L / contentLen);
////                    Log.e("dddd","进度"+ progress);
//                    // 如果进度与之前进度相等，则不更新，如果更新太频繁，否则会造成界面卡顿
////                    if (progress != oldProgress) {
//                        //调用publishProgress公布进度，最后onProgressUpdate方法将被执行
//                        publishProgress(progress);
////                    }
////                    oldProgress = progress;
//                    if(isCancelled()){
//                        if(null != isDownByJieTu){
//                            isDownByJieTu.put(mUrl,true);
//                        }
//                        break;
//                    }
//                }
//                bis.close();
//                bos.close();
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//            return "下载完成";
//        }
//
//        @Override
//        protected void onProgressUpdate(Integer... progress) {
//            //获取下载进度百分比并更新textview
//            final int i = progress[0];
////            if(25 == i || 50 == i || 75 == i){
//////                Log.d("dddd","下载进度为："+i+"%");
////                ToastUtils.showShort("正在下载:" + i + "%");
////                mTextView.setText("正在下载:" + i + "%");
////
////            }
//
//            //异步显示
//            mTextView.post(() -> {
//                mTextView.setText("正在下载:" + i + "%");
//                mProgressBar_loadApp.setProgress(i);
//            });
//
//
//            if(100 == i){
//                //设置完成标志
//                if(null != isDownByJieTu){
//                    isDownByJieTu.put(mUrl,true);
//                }
//
//                mTextView.post(() -> releaseDown());
//
//                isDownComplete = true;
//                ApkUtils.setPermission(apkFile.getAbsolutePath());
//                AppUtils.installApp(apkFile);
//
//
//
//                if(isShowDownOk){
//                    webView.post(() -> {
//                        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//                            String result = "javascript:" + "xyApplication.juge(\"" + mUrl + "\",100,\""  + "\")";
//
//                            if (webView != null){
//                                webView.loadUrl(result);//传递参数
//                            }
//                        } else {//4.4以上 包括4.4
//                            String result = "javascript:" + "xyApplication.juge(\"" + mUrl + "\",100,\""  + "\")";
//                            if (webView != null){
//                                webView.evaluateJavascript(result, new ValueCallback<String>() {
//                                    @Override
//                                    public void onReceiveValue(String value) {
//                                    }
//                                });
//                            }
//                        }
//                    });
//                }
//
//
//            }
//
//        }
//
//        @Override
//        protected void onPostExecute(String s) {
//            super.onPostExecute(s);
//            Log.e("dddd","下载完成!!!!");
//            if(null != isDownByJieTu){
//                isDownByJieTu.put(mUrl,true);
//            }
//        }
//
//
//        @Override
//        protected void onCancelled() {
//            if(!isDownComplete){
//                ToastUtils.showShort("取消下载");
//                if(null != isDownByJieTu){
//                    isDownByJieTu.put(mUrl,true);
//                }
//
//                if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//                    String result = "javascript:" + "xyApplication.juge(\"" + mUrl + "\",-1,\""  + "\")";
//                    if (webView != null){
//                        webView.loadUrl(result);//传递参数
//                    }
//                } else {//4.4以上 包括4.4
//                    String result = "javascript:" + "xyApplication.juge(\"" + mUrl + "\",-1,\""  + "\")";
//                    if (webView != null){
//                        webView.evaluateJavascript(result, new ValueCallback<String>() {
//                            @Override
//                            public void onReceiveValue(String value) {
//                            }
//                        });
//                    }
//                }
//            }
//
//        }
//    }
//
//
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        if (mMyWebChromeClient != null) {
//            mMyWebChromeClient.onActivityResult(requestCode, resultCode, data);
//        }
//        super.onActivityResult(requestCode, resultCode, data);
//
//    }
//
//
//    @Override
//    public boolean onKeyDown(int keyCode, KeyEvent event) {
//        if (keyCode == KeyEvent.KEYCODE_BACK) {
//
//            boolean b = toKeyDown();
//            if (!b) {
//                // 监控返回键
//                new AlertDialog.Builder(WebViewActivity.this).setTitle("提示")
//                        .setIconAttribute(android.R.attr.alertDialogIcon)
//                        .setMessage("确定要退出吗?")
//                        .setPositiveButton("确认", new DialogInterface.OnClickListener() {
//                            @Override
//                            public void onClick(DialogInterface dialog, int which) {
//                                WebViewActivity.this.finish();
//                            }
//                        })
//                        .setNegativeButton("取消", null)
//                        .create().show();
//                return false;
//            } else{
//                return true;
//            }
//        }
//        return super.onKeyDown(keyCode, event);
//    }
//
//
//
//    //如果有上一页，返回，没有的话，直接finish
//    private boolean toKeyDown() {
//
//        if (webView != null) {
//
//            //进一步解析url，刚进入的 和 界面刷新的都需要
//            String temp ;
//            String mmUrl = mUrl;
//            String mmCurrentUrl = mCurrentUrl;
//
//            if(mUrl.contains("?")){
//                temp = mUrl.substring(0,mUrl.indexOf("?"));
//                if(!temp.endsWith("/")){
//                    temp += "/";
//                }
//                mmUrl = temp;//重新赋值
//            }else{
//                temp = mUrl;
//                if(!temp.endsWith("/")){
//                    temp += "/";
//                }
//                mmUrl = temp;//重新赋值
//            }
//
//
//            if(TextUtils.isEmpty(mCurrentUrl)){
//                mCurrentUrl = "";
//            }
//
//            if(mCurrentUrl.contains("?")){
//                temp = mCurrentUrl.substring(0,mCurrentUrl.indexOf("?"));
//                if(!temp.endsWith("/")){
//                    temp += "/";
//                }
//                mmCurrentUrl = temp;//重新赋值
//            }else{
//                temp = mCurrentUrl;
//                if(!temp.endsWith("/")){
//                    temp += "/";
//                }
//                mmCurrentUrl = temp;//重新赋值
//            }
//
//            if (!mmUrl.equals(mmCurrentUrl)) {
//                webView.post(new Runnable() {
//                        @Override
//                    public void run() {
//
//                        releaseDown();
//
//                        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//小于4.4
//
//                            String result = "javascript:" + "xyApplication.goback()";
//                            if (webView != null){
//                                webView.loadUrl(result);//传递参数
//                            }
//                        } else {//4.4以上 包括4.4
//                            String result = "javascript:" + "xyApplication.goback()";
//                            if (webView != null){
//                                webView.evaluateJavascript(result, new ValueCallback<String>() {
//                                    @Override
//                                    public void onReceiveValue(String value) {
//                                    }
//                                });
//                            }
//                        }
//                    }
//                });
//                return true;
//            } else {
//                //取消下载
//                releaseDown();
//                finish();
//                return true;
//            }
//
//        }
//        return false;
//    }
//
//    private void releaseDown() {
//
//        mTextView.setText("下载完成");
//
//        if(null != mAppDownLoad){
//            mAppDownLoad.cancel(true);
//        }
//
//        if(null != mProgressBar_loadApp){
//            mProgressBar_loadApp.setProgress(0);
//            mProgressBar_loadApp.setVisibility(View.GONE);
//        }
//    }
//
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        if (webView != null) {
//            //清除历史记录
//            webView.clearHistory();
//            //移除WebView
//            ((ViewGroup) webView.getParent()).removeView(webView);
//            //销毁VebView
//            webView.destroy();
//            //WebView置为null
//            webView = null;
//        }
//
//        if(JieTuAd.mMap != null){
//            JieTuAd.mMap.put("gaoEListener", null);
//        }
//
//        SPHelper.put(this, "removeHttp", true);//设置标记
//
//
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        //TODO 为了避免手动刷新
//        if (null != webView && mUrl.equals(mCurrentUrl)) {
//            webView.post(new Runnable() {
//                @Override
//                public void run() {
//                    Log.d("heihei", "重新加载");
//                    if (webView != null){
//                        webView.reload();
//                    }
//                }
//            });
//        }
//
//
//    }
//
//
//    private void initPermission() {
//        mPermissionList.clear();//清空没有通过的权限
//
//        //逐个判断你要的权限是否已经通过
//        for (int i = 0; i < permissions.length; i++) {
//            if (ContextCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
//                mPermissionList.add(permissions[i]);//添加还未授予的权限
//            }
//        }
//
//        //申请权限
//        if (mPermissionList.size() > 0) {//有权限没有通过，需要申请
//            ActivityCompat.requestPermissions(this, permissions, mRequestCode);
//        }
//    }
//
//
//    @Override
//    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
//                                           @NonNull int[] grantResults) {
//        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//        boolean hasPermissionDismiss = false;//有权限没有通过
//        if (mRequestCode == requestCode) {
//            for (int i = 0; i < grantResults.length; i++) {
//                if (grantResults[i] == -1) {
//                    hasPermissionDismiss = true;
//                }
//            }
//            //如果有权限没有被允许
//            if (hasPermissionDismiss) {
//                JieTuAd.mMap.put("gaoEListener", null);
//                finish();
//            } else {
//                //全部权限通过，可以进行下一步操作。。。
//            }
//        }
//
//    }
//
//
//}
